package com.ymttest.database.mongo;


import java.util.ArrayList;
import java.util.Map;

import com.ymt.database.MongoDBDriver;
import com.ymttest.utils.EnvSetup;

/**\
 * 
 * @author chenshuangyan
 * @Date 2016/3/17
 */
public class LoginIdUpdateEventHistoryMongoWapper {
	MongoDBDriver mdd;

	public LoginIdUpdateEventHistoryMongoWapper() throws Exception {
		mdd = new MongoDBDriver(EnvSetup.getSystemUrl("set1_mongoip"), 27017, "Ymt_UserBills_Event");
		mdd.setPoolSize(Integer.valueOf(EnvSetup.getSystemUrl("mongoPoolSize")));
		mdd.auth("authuser", "123456");
		mdd.selectCollection("LoginIdUpdateEventHistory");
	}

	/**
	 * 改变表
	 * 
	 * @param Collection
	 *            表名
	 */
	public void changeCollection(String Collection) {
		mdd.selectCollection(Collection);
	}
	
	/**
	 * 根据用户Id和用户注册源头查找用户修改用户信息的次数
	 * @param userId 用户Id
	 * @param userSource 用户注册源头（Ex, 0表示来自码头主站注册）
	 * @return 修改用户信息的次数
	 * @throws Exception
	 */
	public int getModifyLoginIdCount(int userId, int userSource) throws Exception{
		
		int result = mdd.selectCount("{\"uId\":"+userId+", \"uSource\":"+userSource+"}");
		return result;
	}
	
	/**
	 * 根据登陆Id和用户注册源头查找用户修改用户信息的次数
	 * @param loginId 登陆Id
	 * @param userSource 用户注册源头（Ex, 0表示来自码头主站注册）
	 * @return 修改用户信息的次数
	 * @throws Exception
	 */
	public int getModifyLoginIdCount(String loginId, int userSource) throws Exception{
		
		int result = mdd.selectCount("{\"nId\":\""+loginId+"\", \"uSource\":"+userSource+"}");
		return result;
	}
	
	public Map<String, Object> getModifyLoginIdInfo(String loginId, int userSource){
		try {
			ArrayList<Map> list = mdd.selectPartLimitToMap("{\"nId\":\""+loginId+"\", \"uSource\":"+userSource+"}", 1);
			if (list.size() > 0) {
				return list.get(0);
			}
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return null;
	}
	protected void close() throws Throwable {
		mdd.close();
	}
}
